package homework1.model;

import java.util.ArrayList;

/**
 * Simple interface which shows how the grading scheme can be seen
 * as a strategy ;)
 * @param <T>  Is the parameter we can set if we use this interface
 * with a different context.
 * @author psyomn
 */
public interface IGradingStrategy<T>
{
    /**
     * The required implementation as stated from the homework sheet.
     * @param exam Single entry of a grade
     * @param coursework few entries, which should add up to 100%, with the exam
     * @return the letter grade (A-D) or (FM) if the grade is wrong (over 100, under 0)
     */
	String generate_grading(T exam, ArrayList<T> coursework);
}
